// 给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。

// 有效字符串需满足：

// 左括号必须用相同类型的右括号闭合。
// 左括号必须以正确的顺序闭合。
/**
 * @param {string} s
 * @return {boolean}
 */
// 只关注栈顶，进行匹配
var isValid = function(s) {
    const stack = [];
    for (let val of s) {
        console.log(stack)
        if (val === '(') stack.push(')');
        else if (val === '[') stack.push(']');
        else if (val === '{') stack.push('}');
        else if (stack.length === 0 || val !== stack.pop()) return false;
    }
    return stack.length === 0;
};

var isValid = function(s) {
    let arr = s.split("");
    console.log(arr);
    let temp = ["(", ")", "{", "}", "[", "]"];
    let bef = 0;
    let las = 1;
    while (las < temp.length) {
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] == temp[bef]) { count++ }
            if (arr[i] == temp[las]) { count-- }
        }
        if (count) { return false }
        bef += 2;
        las += 2;
    }
    return true;
};
// /**
//  * @param {string} s
//  * @return {boolean}
//  */
// var isValid = function(s) {
//    let arr =  s.split("");
//    console.log(arr);
//    let min = 0;
//    let mid = 0;
//    let max = 0;
//     for(let i =0;i<arr.length;i++){
//         if(arr[i]=="("){
//             min++;
//         }else if(arr[i]==")"){
//             min--;
//         }
//            if(arr[i]=="{"){
//             mid++;
//         }else if(arr[i]=="}"){
//             mid--;
//         }
//            if(arr[i]=="["){
//             max++;
//         }else if(arr[i]=="]"){
//             max--;
//         }
//     }
//     if(min==mid==max==0){
//         return true;
//     }
//     return false;
// };